/**
 * http://usejsdoc.org/
 */
class JQMutex{

	
}


class Demo {
    //构造函数
    constructor(x, y) {
        this.x = x; //类中变量
        this.y = y;
    }

   add = () => { //普通函数返回x+y的和
        return this.x + this.y;
    }
    sleep = time => {
        return new Promise(function (resolve, reject) {
            setTimeout(function () {
                resolve('ok');
            }, time);

        })
    }
    //async 用于申明一个 function 是异步的，所以在该function里面的程序都是异步的
    start = async () => {
        let result = await this.sleep(1000);//await后面可以接着一个直接变量或者是一个promise对象
        let sum = this.add()
        console.log("了解", sum);
        
        return result;
    }
}

let demo = new Demo(2, 3)
demo.start().then(m => {
        console.log(m);
    }
);